leetcode/100-n/517. 超级洗衣机.md
2021-10-09 17:38:44
https://leetcode-cn.com/problems/super-washing-machines/
执行用时:4 ms, 在所有 Go 提交中击败了99.15%的用户
内存消耗:4.2 MB, 在所有 Go 提交中击败了100.00%的用户
func findMinMoves(machines []int) (ret int) {
sumNum := 0
for _, item := range machines {
sumNum += item
}
if sumNum % len(machines) != 0 {
return -1
}
balanceNum := sumNum / len(machines)
//代表当前位置,需要移动的总数,正数向右移动,负数向左移动
current := 0
for _, item := range machines {
current = current + (item - balanceNum)
//取current和流出总数的最大值
ret = max(ret, max(abs(current), item - balanceNum))
}
return
}
func abs(x int) int {
if x < 0 {
return -x
}
return x
}
func max(x,y int) int {
if x > y {
return x
}
return y
}